Field of Invention
Embodiments of the invention relate generally to systems, and more particularly, to systems with one or more processors internal to a memory device.
Description of Related Art
This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present invention, which are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present invention. Accordingly, it should be understood that these statements are to be read in this light and not as admissions of prior art.
Electronic systems typically include one or more processors, which may retrieve and execute instructions, and store the results of the executed instructions to a suitable output or location. A processor generally includes arithmetic logic unit (ALU) circuitry, which is capable of executing instructions such as arithmetic and logic operations on one or more operands. For example, the ALU circuitry may add, subtract, multiply, or divide one operand from another, or may subject one or more operands to logic operations, such as AND, OR, XOR, and NOT logic functions. The various arithmetic and logic operations may have different degrees of complexity. For example, some operations may be executed by inputting the operand(s) through the ALU circuitry in one cycle, while other operations may be require multiple clock cycles.
A number of components in the electronic system may be involved in directing a set of instructions to the ALU for execution. For example, the instructions and any corresponding data (e.g., the operands on which the operations will be executed) may be generated by a controller, or some other suitable processor in the electronic system. As the time or number of clock cycles required for the execution of a set of instructions may vary depending on the type of operation, the instructions and/or data may be written to a memory device, for example, a memory array, before being executed by the ALU. The instructions and data may be retrieved and sequenced and/or buffered before the ALU begins to execute the instructions on the data. To improve processing performance, the steps of writing, reading, sequencing, buffering, and executing instructions and/or data may be occurring substantially simultaneously on different instructions, or different parts of an instruction. This parallel processing may be referred to as “pipelining.”
The process of executing instructions and the steps involved in pipelining instructions may consume power in the electronic system. For example, writing instructions and data to a memory array, and then retrieving the instructions for a processor to perform the operations may take energy. Furthermore, in some memory systems, an external bus may be required to input the instructions and data from a memory array to an ALU, and to output completed results back to the memory array or other suitable output. Such external data input/outputs may increase power consumption in the system.
In some memory systems, a processor may be embedded on a memory device, and may be referred to as a processor-in-memory (PIM). For example, one or more ALUs may be embedded on a memory device, and may write to and read from a memory array without an external bus. However, the transfer of instructions and data in the memory device may still limit the efficiency of processing in an electronic system.